.TH vfscount.bt 8  "2018-09-06" "USER COMMANDS"
.SH NAME
vfscount.bt \- Count VFS calls ("vfs_*"). Uses bpftrace/eBPF.
.SH SYNOPSIS
.B vfscount.bt
.SH DESCRIPTION
This counts VFS calls. This can be useful for general workload
characterization of these operations.

This works by tracing all kernel functions beginning with "vfs_" using dynamic
tracing. This may match more functions than you are interested in measuring:
Edit the script to customize which functions to trace.

Since this uses BPF, only the root user can use this tool.
.SH REQUIREMENTS
CONFIG_BPF and bpftrace.
.SH EXAMPLES
.TP
Count all VFS calls until Ctrl-C is hit:
#
.B vfscount.bt
.SH FIELDS
.TP
1st
Kernel function name (in @[])
.TP
2nd
Number of calls while tracing
.SH OVERHEAD
This traces kernel vfs functions and maintains in-kernel counts, which
are asynchronously copied to user-space. While the rate of VFS operations can
be very high (>1M/sec), this is a relatively efficient way to trace these
events, and so the overhead is expected to be small for normal workloads.
Measure in a test environment, and if overheads are an issue, edit the script
to reduce the types of vfs functions traced (currently all beginning with
"vfs_").
.SH SOURCE
This is from bpftrace.
.IP
https://github.com/bpftrace/bpftrace
.PP
Also look in the bpftrace distribution for a companion _examples.txt file
containing example usage, output, and commentary for this tool.

This is a bpftrace version of the bcc tool of the same name. The bcc tool
may provide more options and customizations.
.IP
https://github.com/iovisor/bcc
.SH OS
Linux
.SH STABILITY
Unstable - in development.
.SH AUTHOR
Brendan Gregg
.SH SEE ALSO
vfsstat.bt(8)
